In the past, computing applications such as computer games and multimedia applications used controllers, remotes, keyboards, mice, or the like to allow users to manipulate game characters or other aspects of an application. More recently, computer games and multimedia applications have begun employing cameras and software gesture recognition engines to provide a natural user interface (“NUI”). With NUI, raw joint data and user gestures are detected, interpreted and used to control game characters or other aspects of an application.
One of the challenges of a NUI system is distinguishing a person in the field of view of an image sensor, and correctly identifying the positions of his or her body parts within the field of view. Body-tracking routines are known for this purpose. However, these routines are either computationally expensive, requiring more processing time than is available within the frame rates of NUI systems, or they are computationally inexpensive but arrive at the correct representation of the target user only a portion of the time.